home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / cfinger_search.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  88 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10038);
  10.  script_cve_id("CVE-1999-0259");
  11.  
  12.  script_version ("$Revision: 1.17 $");
  13.  name["english"] = "Cfinger's search.**@host feature";
  14.  name["francais"] = "Cfinger's search.**@host feature";
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "
  18. The remote host is running 'cfingerd', a finger daemon. 
  19.  
  20. There is a bug in the remote cfinger daemon which allows 
  21. anyone to get the lists of the users of this system, when
  22. issuing the command :
  23.  
  24.     finger search.**@victim
  25.  
  26.  
  27. This information can in turn be used by an attacker to set up
  28. a brute force login attack against this host.
  29.  
  30. Solution : use another finger daemon or disable this service in /etc/inetd.conf
  31. Risk factor : Low / Medium";
  32.  
  33.  
  34.  script_description(english:desc["english"]);
  35.  
  36.  summary["english"] = "finger .@host feature";
  37.  script_summary(english:summary["english"]);
  38.  
  39.  script_category(ACT_GATHER_INFO);
  40.  
  41.  
  42.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  43.         francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  44.  family["english"] = "Finger abuses";
  45.  family["francais"] = "Abus de finger";
  46.  script_family(english:family["english"], francais:family["francais"]);
  47.  script_dependencie("find_service.nes");
  48.  script_require_ports("Services/finger", 79);
  49.  exit(0);
  50. }
  51.  
  52. #
  53. # The script code starts here
  54. #
  55.  
  56. port = get_kb_item("Services/finger");
  57. if(!port)port = 79;
  58. if(get_port_state(port))
  59. {
  60.  soc = open_sock_tcp(port);
  61.  if(soc)
  62.  {
  63.   buf = string("search.**\r\n");
  64.  
  65.   send(socket:soc, data:buf);
  66.   recv_line(socket:soc, length:2048);
  67.   data = recv_line(socket:soc, length:2048);
  68.   minus = "----";
  69.   if(minus >< data)
  70.   {
  71.     for(i=1;i<11;i=i+1){
  72.         data = recv_line(socket:soc, length:2048);
  73.         if(!data)exit(0);
  74.         }
  75.     data = recv_line(socket:soc, length:2048);
  76.     if(data){
  77.           data_low = tolower(data);
  78.           if(data_low && ("root" >< data_low)) 
  79.          {
  80.               security_warning(port);
  81.          set_kb_item(name:"finger/search.**@host", value:TRUE);
  82.          }
  83.         }
  84.   }
  85.   close(soc);
  86.  }
  87. }
  88.